home *** CD-ROM | disk | FTP | other *** search
/ Amoszine 7 / Amoszine 7 (Disk 3 of 3).adf / ARCHIVES / AJC_More_Source.lha / AJC-TurboStars&Cubes.AMOS / AJC-TurboStars&Cubes.amosSourceCode
AMOS Source Code  |  1995-06-01  |  2KB  |  105 lines

  1. '
  2. ' *** REQUIRES TURBO PLUS EXTENSION! **  
  3. '
  4. ' Boxes & Starfield. 
  5. ' By Andy Campbell >8^)
  6. '
  7. ' COMPILE FOR JAW-DROPPINGLY SMOOTH SPEED! 
  8. '
  9. '
  10. Dim PT(12,6)
  11. Dim CUBE(9,3)
  12.  
  13. _NUMBER_OF_CUBES=4
  14.  
  15. Screen Open 0,320,200,2,Lowres
  16. Ink 1,0
  17. Palette $12,$FFF
  18. Hide On 
  19.  
  20. Gosub SMEG
  21.  
  22.  Extension_12_0016 
  23. Screen 0
  24.  Extension_12_02BE 160,100
  25. Double Buffer 
  26. Autoback 0
  27.  Extension_5_003A 
  28.  
  29. AANTAL=100
  30. Dim SPEED(AANTAL)
  31. Dim X_AS(AANTAL)
  32. Shared AANTAL,X_AS(),SPEED()
  33.  
  34. For I=1 To AANTAL
  35.    SPEED(I)=Rnd(2)+1
  36.    X_AS(I)=Rnd(310)
  37.     Extension_12_036E X_AS(I),Y,1
  38.    Add Y,2
  39. Next 
  40.  
  41. Repeat 
  42.       For J=1 To _NUMBER_OF_CUBES
  43.        Dec CUBE(J,3)
  44.        If CUBE(J,3)<5 : CUBE(J,3)=1000 : End If 
  45.        For I=1 To 12
  46.            Extension_12_02A6 PT(I,1)+CUBE(J,1),PT(I,2)+CUBE(J,2),PT(I,3)+CUBE(J,3) To PT(I,4)+CUBE(J,1),PT(I,5)+CUBE(J,2),PT(I,6)+CUBE(J,3)
  47.        Next I
  48.       Next J
  49.       SET_STARS
  50.       CLEAR_STARS
  51.    Screen Swap 
  52.    Wait Vbl 
  53.     Extension_12_0380 -1
  54. Until Mouse Key
  55.  Extension_12_0006 
  56. Edit 
  57.  
  58. SMEG:
  59.  Restore GIT
  60.  For I=1 To 12
  61.   For J=1 To 6
  62.    Read PT(I,J)
  63.   Next J
  64.  Next I
  65.  
  66.  Restore GIT2
  67.  For I=1 To _NUMBER_OF_CUBES
  68.   For J=1 To 3
  69.    Read CUBE(I,J)
  70.   Next J
  71.  Next I
  72.  
  73. Return 
  74.  
  75. GIT:
  76. Data 0,0,0,50,0,0
  77. Data 50,0,0,50,0,50
  78. Data 50,0,50,0,0,50
  79. Data 0,0,50,0,0,0
  80. Data 0,0,0,0,50,0
  81. Data 0,50,0,50,50,0
  82. Data 50,50,0,50,50,50
  83. Data 50,50,50,0,50,50
  84. Data 0,50,50,0,50,0
  85. Data 0,50,50,0,0,50
  86. Data 50,50,50,50,0,50
  87. Data 50,50,0,50,0,0
  88.  
  89. GIT2:
  90. Data -25,-100,710
  91. Data -75,100,500
  92. Data -35,-175,200
  93. Data 55,150,300
  94.  
  95. Procedure SET_STARS
  96.    For I=1 To AANTAL
  97.        Extension_12_036E X_AS(I),Y,1
  98.       Add Y,2
  99.    Next 
  100. End Proc
  101. Procedure CLEAR_STARS
  102.    For I=1 To AANTAL
  103.       Add X_AS(I),SPEED(I),0 To 310
  104.    Next 
  105. End Proc